<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>高频数据类型</title>
</head>

<body>
  <!-- 
    声明一个临时对象，用于存储数据类型和该数据类型出现的频次
    声明一个数组，用于返回结果
    声明一个数字，用于保存出现最高频的数据类型次数
    通过遍历数组，更新临时对象的内容并且修改数字
    最后通过遍历对象，判断是否存在某个数据类型出现的频次和当前最高频次的数据类型出现次数相等并进行拼接
 -->
  <script>
    const _findMostType = array => {
      let tem = {}
      let arr = []
      let num = 0
      for (key of array) {
        let type = typeof key
        if (tem[type]) {
          tem[type]++
        } else {
          tem[type] = 1
        }
        num = tem[type] > num ? tem[type] : num
      }
      for (key in tem) {
        arr = tem[key] === num ? [...arr, key] : arr
      }
      return [...arr, num]
    }
  </script>
</body>

</html>